package com.ddwl.wallet.dao.model;

import com.ddwl.common.dao.model.BaseModel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.data.mongodb.core.mapping.Document;

import java.math.BigDecimal;
import java.time.Instant;
import java.util.Set;

/**
 * coupon
 *
 * @author
 */
@Getter
@Setter
@NoArgsConstructor
@Document(collection = "sys_coupon")
public class Coupon extends BaseModel {

    /**
     * 适用店铺id
     */
    private Set<String> shopIds;

    /**
     * 券名称
     */
    private String name;

    /**
     * 券封面
     */
    private String coverImg;

    /**
     * 销售价格
     */
    private BigDecimal price;

    /**
     * 券金额（可抵扣金额）
     */
    private BigDecimal amount;

    /**
     * 使用最低金额
     */
    private BigDecimal minAmount;
    /**
     * 开始时间
     */
    private Instant beginDate;

    /**
     * 结束时间
     */
    private Instant endDate;

    /**
     * 单个人最大领取数量
     */
    private Integer singleMax;

    /**
     * 发放总数量
     */
    private Integer quantity;

    /**
     * 有效天数
     */
    private Integer validDays;

    /**
     * 使用周天数
     */
    private Integer[] weeks;

    /**
     * 券说明
     */
    private String introduce;

    /**
     * 批次唯一标识服务
     */
    private String batchNo;

    /**
     * 类型 0、一次性抵扣券,1、销售抵扣券,2、商品兑换券
     * @see com.ddwl.common.constant.WalletEnum.CouponType
     */
    private Integer type;

    /**
     * 适用商品类型
     */
    private String categoryId;

    /**
     * 兑换商品id
     */
    private String itemId;

    /**
     * 是否启用：0否1是
     */
    private Integer enable;

    public Coupon(String id) {
        super.setId(id);
    }

}